網站已經有個基本功能了,也用了Git,就可以準備上heroku了,到heroku上開啟一個應用後,在本地端開啟CMD:
heroku login
接著他會跳出網頁登入,登入後使用remote
指令將本地端與heroku連結:
heroku git:remote -a "heroku上的名稱"
上傳的指令為push
,push後面接remote分支的名稱與本地分支的名稱
git push heroku master
heroku為遠端分支名稱,可以用
git remote -v
查詢
例如我的分支為main,那我的指令就是:
git push origin main
上傳後heroku並不會自動跑app.py
,需要有一個文件告訴它要跑app.py
新增Procfile
在Profile打上
web: gunicorn app:app
但是heroku並沒有安裝我們使用的套件,要利用pip生出requirement.txt
pip freeze > requirements.txt
or
pip3 freeze > requirements.txt
接著重新push後,到heroku網頁把它打開。
這樣就部屬上去了,但heroku會讓網站自動休眠,也就是太久沒人造訪網站時,會需要重新啟動,重新啟動的時間大概要30秒,會有極糟的瀏覽體驗,所以希望能有個自動造訪的功能,這邊用到uptimerobot這個網站的功能。
這個網站使用非常易懂,登入後按Add new Moniter
,接著把網址和間隔條好,就成功了。
既然都用到了定時造訪的功能,也將爬蟲寫成一個API讓它能夠每天執行爬蟲。
在app.py
加上
@app.route('/month_stat_crawler', methods=['GET'])
def getmonthstat():
get_month_player_stat()
return redirect(url_for('index'))
在新增Moniter就可以了。
下一篇將增加近況的功能,也是要從爬蟲開始,會這樣慢慢增加功能。